Nirbheek Chauhan [Mon, 23 Jul 2018 09:25:25 +0000 (14:55 +0530)]
meson: Always fetch pangoft2_dep from the pango subproject
This ensures that we will use pangoft2 if it is available, and not if
it is not available.
See: https://gitlab.gnome.org/GNOME/pango/merge_requests/6
Nirbheek Chauhan [Fri, 6 Jul 2018 18:50:41 +0000 (00:20 +0530)]
meson: Use proxy-libintl subproject when needed and available
Such as on Windows with MSVC.
Nirbheek Chauhan [Fri, 6 Jul 2018 18:49:57 +0000 (00:19 +0530)]
meson: Add a fallback for the harfbuzz dependency
This meson port is not upstream yet, so a wrap file is not included.
Upstream has expressed interest but the port hasn't been tested on all
platforms yet. Will be added when it gets upstreamed.
Link to WIP port: https://github.com/centricular/harfbuzz
Timm Bäder [Thu, 11 Oct 2018 10:27:17 +0000 (12:27 +0200)]
emojichooser: Pass chooser to add_emoji
Timm Bäder [Mon, 8 Oct 2018 16:05:56 +0000 (18:05 +0200)]
widget: Stop adding a legacy event controller
The only event signal left is ::event and everything needing that
connects to it directly.
Timm Bäder [Sat, 6 Oct 2018 07:23:26 +0000 (09:23 +0200)]
gl renderer: Save some matrix multiplications
We do this for every single node, which is a little costly, especially
since the common case for the modelview matrix these days is a simple
translation. So, check whether the new modelview matrix is only a
translation matrix and if so, don't do a full matrix multiplication per
node.
Timm Bäder [Wed, 26 Sep 2018 07:36:31 +0000 (09:36 +0200)]
spinbutton: Don't use gfloat in a code sample
Timm Bäder [Wed, 10 Oct 2018 11:12:03 +0000 (11:12 +0000)]
Merge branch 'file-sealing' into 'master'
gdk: seal in-memory files when possible
See merge request GNOME/gtk!353
Timm Bäder [Wed, 10 Oct 2018 11:09:25 +0000 (11:09 +0000)]
Merge branch 'gtkbuilder-tag-end-wrong-type' into 'master'
GtkBuildable: Fix the type of the user_data in GtkBuildable.custom_tag_end
See merge request GNOME/gtk!378
Chun-wei Fan [Tue, 9 Oct 2018 09:06:39 +0000 (17:06 +0800)]
gtkimcontextime.c: Fix Korean input
Commit
64a489ad inadvertently introduced a regression that broke Korean
text input because the changes there resulted that only the last input
string that we have from ImmGetCompositionStringW() for each time the
commit signal is emitted is kept, and also as a result the final Korean
character that is input by hitting space is also lost as a result, as we
didn't check for whether we are done with preediting.
Fix these issues by doing the following when we receive the
WM_IME_COMPOSITION message with GCS_RESULTSTR from Windows:
-Do not emit the commit signal during WM_IME_ENDCOMPOSITION, and...
-Emit the commit signal anyways, as we did before
c255ba68, however...
-We still save up the string to commit, because we need to re-compute
the cursor position when we do ->get_preedit_string(), which needs to
take the GCS_RESULTSTR string we get from WM_IME_COMPOSITION into
account as well, so that we avoid getting the Pango criticals that
occur during Chinese (and most likely Japanese) input as the cursor
position is out-of-range.
Fixes issue #1350.
Chun-wei Fan [Tue, 9 Oct 2018 08:24:15 +0000 (16:24 +0800)]
testsuite/gtk/filterlistmodel.c: Avoid GCCism
Pointer arithmetic on gpointers (void *) is a GCCism, so avoid that by
being more explicit with things.
Chun-wei Fan [Tue, 9 Oct 2018 08:22:28 +0000 (16:22 +0800)]
testsuite/gtk/[flatten|sort]listmodel.c: Avoid VLA usage
Visual Studio is unlikely to support VLAs at any point, so avoid using
them and use g_newa() instead.
Robert Ancell [Sun, 7 Oct 2018 22:34:43 +0000 (11:34 +1300)]
GtkBuildable: Fix the type of the user_data in GtkBuildable.custom_tag_end
The previous type was a pointer to a pointer, which seems to be a copy-paste
error from GtkBuildable.custom_tag_start which is an out parameter. It was
always cast in use so this is an API break, but not an ABI one.
Daniel Boles [Sun, 7 Oct 2018 17:28:31 +0000 (17:28 +0000)]
Merge branch 'master' into 'master'
gtkstack: fix null pointer dereference
See merge request GNOME/gtk!361
Aurimas Černius [Sun, 7 Oct 2018 13:57:01 +0000 (16:57 +0300)]
Updated Lithuanian translation
LRN [Sun, 7 Oct 2018 09:05:16 +0000 (09:05 +0000)]
Merge branch 'win32-runtime-immodule-swap-gtk4' into 'master'
GDK W32: Support switching IM contexts at runtime (GTK4)
See merge request GNOME/gtk!372
Benjamin Otte [Sun, 7 Oct 2018 02:23:40 +0000 (02:23 +0000)]
docs: Update GtkSliceListModel
Mohammed Sadiq [Sun, 7 Oct 2018 02:16:58 +0000 (07:46 +0530)]
slicelistmodel: Fix typos in docs
Руслан Ижбулатов [Tue, 2 Oct 2018 09:34:22 +0000 (09:34 +0000)]
GDK W32: Support switching IM contexts at runtime
This leverages the normal input context switching mechanism in GTK
by making it think that the gtk-im-module setting changed.
The backend returns gtk-im-module value as "ime" if W32
IME API says that an IME is in use. Otherwise it returns
and empty string - this still triggers an input context
switching code, which, not being able to create the desired context
(which is and empty string), falls back to looking at current
keyboard layout (currently that code is still a FIXME).
Paired with the code that signals gtk-im-module change on keyboard layout
switches, this is sufficient to make GTK capable of switching to
the appropriate IM context at runtime. At least, the kinds of context
that specify languages for which they are used automatically by default
(once locale matching is implemented), and the IME context.
Loading other kinds of IM context might still work via specifying
the gtk-im-module setting in gtk ini file, but doing so will likely
make GTK incapable of using the IME context that is used
for Korean, Chinese and Japanese (and some other languages).
Until someone figures out a way to actually change gtk-im-module
setting on Windows at runtime with meaningful values, the behaviour
introduced by this commit seems like a sufficient workaround.
Benjamin Otte [Fri, 5 Oct 2018 20:07:07 +0000 (22:07 +0200)]
inspector: Highlight CSS node on selection
Fixes #1383
Benjamin Otte [Thu, 20 Sep 2018 14:06:06 +0000 (16:06 +0200)]
docs: Put subsection into right section
The widget observer APIs belong into the widget docs, not the window
docs. Oops.
Benjamin Otte [Fri, 21 Sep 2018 02:34:16 +0000 (04:34 +0200)]
video: Add header include guard
Jakub Steiner [Thu, 4 Oct 2018 18:36:44 +0000 (20:36 +0200)]
Adwaita: fix devel styling for sidebar apps
- don't put the gradient/cogged wheel on apps that have a split headerbar
due to having a sidebar
Kristjan SCHMIDT [Sun, 30 Sep 2018 10:24:25 +0000 (10:24 +0000)]
Update Esperanto translation
emersion [Sun, 23 Sep 2018 18:56:18 +0000 (20:56 +0200)]
gdk: seal in-memory files when possible
This can be used by compositors to mmap memory without having to
handle SIGBUS.
Hugo Lefeuvre [Wed, 26 Sep 2018 20:59:59 +0000 (16:59 -0400)]
gtkstack: fix null pointer dereference
The gtk_stack_snapshot_slide() function dereferences the
last_visible_child pointer without proper != NULL ckeck. This might
result in NULL pointer dereference and crash if last_visible_child is
invalid.
Add a != NULL check before dereferencing the pointer.
Matthias Clasen [Wed, 26 Sep 2018 18:28:23 +0000 (18:28 +0000)]
Merge branch 'wip/sadiq/fixes' into 'master'
docs: Fix inclusion of source files in tutorial
See merge request GNOME/gtk!341
Matthias Clasen [Wed, 26 Sep 2018 16:11:43 +0000 (16:11 +0000)]
Merge branch 'wip/jimmac/nightly-headerbar' into 'master'
Adwaita: tone down the 'devel' styling
See merge request GNOME/gtk!357
Jakub Steiner [Wed, 26 Sep 2018 13:50:58 +0000 (15:50 +0200)]
Adwaita: tone down the 'devel' styling
The selected bg was too prominent and intefered with button styling.
Timm Bäder [Tue, 25 Sep 2018 07:12:58 +0000 (07:12 +0000)]
Merge branch 'wip/arnaudb/fix-dashed-border-4' into 'master'
Make dashed border-style work correctly
See merge request GNOME/gtk!355
Timm Bäder [Mon, 24 Sep 2018 19:05:07 +0000 (21:05 +0200)]
Update expected node files
We don't technically hide the arrow nodes anymore.
Arnaud B [Fri, 21 Sep 2018 12:25:23 +0000 (12:25 +0000)]
Make dashed border-style work correctly
There’s a short-path done for focus rectangles, but it can be taken in other conditions, and then fail occasionally to render a dashed line if the border-width is too big.
Piotr Drąg [Sun, 23 Sep 2018 16:27:30 +0000 (18:27 +0200)]
Update Polish translation
Timm Bäder [Sun, 23 Sep 2018 16:01:59 +0000 (18:01 +0200)]
scalebutton: Remove unused define
Timm Bäder [Sun, 23 Sep 2018 15:59:37 +0000 (17:59 +0200)]
button: Remove key_controller member
Unneeded now.
Timm Bäder [Sun, 23 Sep 2018 15:33:48 +0000 (17:33 +0200)]
assistant: Remove some unused defines
Timm Bäder [Tue, 18 Sep 2018 14:29:10 +0000 (16:29 +0200)]
menu: Remove useless if statement
Timm Bäder [Mon, 17 Sep 2018 09:19:57 +0000 (11:19 +0200)]
menu: Show scroll arrows if necessary
Timm Bäder [Mon, 17 Sep 2018 09:07:41 +0000 (11:07 +0200)]
menu: Remove arrow visibility flags
Jan Alexander Steffens (heftig) [Wed, 5 Sep 2018 19:46:28 +0000 (21:46 +0200)]
GtkApplication: Fix CRITICAL on shutdown when register_session=FALSE
Close https://gitlab.gnome.org/GNOME/gtk/issues/1323#note_327705
Daniel Boles [Sat, 22 Sep 2018 16:52:49 +0000 (16:52 +0000)]
Merge branch 'master' into 'master'
flattenlistmodel: Fix uninitialized variable warning
See merge request GNOME/gtk!347
Piotr Drąg [Thu, 20 Sep 2018 17:01:14 +0000 (19:01 +0200)]
Use Unicode apostrophes in new strings
See https://developer.gnome.org/hig/stable/typography.html
https://bugzilla.gnome.org/show_bug.cgi?id=772371
Yi-Soo An [Thu, 20 Sep 2018 03:45:33 +0000 (12:45 +0900)]
flattenlistmodel: Fix uninitialized variable warning
Variable, added, would be a garbage value if model is NULL and
the following code, if condition, use the uninitialized variable.
A side effect could be occurred by that.
To avoid, the variable is initialized to zero.
Matthias Clasen [Wed, 19 Sep 2018 13:46:50 +0000 (13:46 +0000)]
Merge branch 'master' into 'master'
Remove some duplication in testfilechooserbutton
See merge request GNOME/gtk!342
Matthias Clasen [Wed, 19 Sep 2018 11:59:16 +0000 (11:59 +0000)]
Merge branch 'installed-tests' into 'master'
Get GTK+ 4 installed-tests closer to working
See merge request GNOME/gtk!348
Emin Tufan Çetin [Wed, 19 Sep 2018 11:13:18 +0000 (11:13 +0000)]
Update Turkish translation
Emin Tufan Çetin [Wed, 19 Sep 2018 11:05:05 +0000 (11:05 +0000)]
Update Turkish translation
Emin Tufan Çetin [Wed, 19 Sep 2018 10:56:13 +0000 (10:56 +0000)]
Update Turkish translation
Simon McVittie [Fri, 14 Sep 2018 12:15:09 +0000 (13:15 +0100)]
testsuite: Install accessibility-dump executable alongside tests
The installed-tests want to run this.
Signed-off-by: Simon McVittie <smcv@debian.org>
Simon McVittie [Wed, 19 Sep 2018 07:09:18 +0000 (08:09 +0100)]
testsuite: Fix installed-test metadata for autotestkeywords
The executable is called autotestkeywords, so we shouldn't try to run
an executable named keywords. Also rename the metadata file to match.
Signed-off-by: Simon McVittie <smcv@debian.org>
Simon McVittie [Fri, 14 Sep 2018 08:22:15 +0000 (09:22 +0100)]
reftests: Fix path to installed-tests in .test metadata
The installed-tests are now namespaced as gtk-4.0 to avoid colliding
with GTK+ 3, but these files weren't updated.
Signed-off-by: Simon McVittie <smcv@debian.org>
Benjamin Otte [Wed, 19 Sep 2018 02:28:09 +0000 (04:28 +0200)]
inspector: Handle case where there's no default application
Benjamin Otte [Wed, 19 Sep 2018 02:26:37 +0000 (04:26 +0200)]
cssrbtree: Fix a crasher
After removing elements, there were a few cases where the tree wasn't
properly balanced which could further down violate assumptions about the
layout.
Attached is the original testcase that triggered it. I didn't bother
simplifying it.
LRN [Tue, 18 Sep 2018 16:43:37 +0000 (16:43 +0000)]
Merge branch 'win32-scroll-both-gtk4' into 'master'
GDK W32: send both smooth and discrete scrolling events (GTK4)
See merge request GNOME/gtk!337
Benjamin Otte [Tue, 18 Sep 2018 15:19:12 +0000 (15:19 +0000)]
Merge branch 'revealer-support-min-size-master' into 'master'
gtkrevealer: support minimum size of child
Closes #635
See merge request GNOME/gtk!317
Eduard Braun [Thu, 13 Sep 2018 14:17:51 +0000 (16:17 +0200)]
GDK W32: fix direction of horizontal smooth scrolling events
Commit
359df028be7b1dae76a1abb9bad8a3b86a648765 changed the
code to send GDK_SCROLL_SMOOTH with deltas instead of
GDK_SCROLL_(UP|DOWN|LEFT|RIGHT).
Windows defines deltas inversed for vertical direction
(positive values mean the wheel was turned forward)
but not for horizontal direction
(positive values mean the wheel was turned towards the right).
This commit fixes behavior as both axes were inverted previously.
Руслан Ижбулатов [Wed, 12 Sep 2018 06:55:49 +0000 (06:55 +0000)]
GDK W32: send both smooth and discrete scrolling events
Commit
d64467b33475bf8358f66bec9450101f37c05e9c changed the
code to send GDK_SCROLL_SMOOTH with deltas instead of
GDK_SCROLL_(UP|DOWN|LEFT|RIGHT). Change it again, to send
both the GDK_SCROLL_SMOOTH and the GDK_SCROLL_(UP|DOWN|LEFT|RIGHT)
event separately (with the discrete event marked as emulated),
as this is what other backends (such as wayland) do.
Carlos Soriano [Tue, 18 Sep 2018 08:55:02 +0000 (10:55 +0200)]
revealer: Support minimum size of child
Up until now when allocating the child it only used the natural size
while the measuring also used the minimum size, resulting in a clipped
child when animating if the child had different minimum size and
natural size. This was an obvious case when using labels that had
ellipsization.
This commit gives full allocation to the child by inverting the size
the revealer reduces from its animation progress.
Code done by Benjamin Otte.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/635
Christoph Reiter [Tue, 18 Sep 2018 07:55:50 +0000 (09:55 +0200)]
ci/docker: add lcov so we can create coverage reports
This was requested on IRC; the docker image in the registry is updated already.
Benjamin Otte [Tue, 18 Sep 2018 05:50:33 +0000 (07:50 +0200)]
treelistmodel: Improve naming a bit
The complexity with model items vs row items is really confusing. Add to
that treelistmodel position vs child model position vs parent position,
and you're so confused, even the best naming can't help.
And once you're there, consider passthrough vs non-passthrough...
Benjamin Otte [Tue, 18 Sep 2018 05:27:48 +0000 (07:27 +0200)]
listmodels: Clarify documentation for function prototypes
Fixes #1341
Mohammed Sadiq [Tue, 18 Sep 2018 04:31:12 +0000 (10:01 +0530)]
Revert "listlistmodel: Fix documentation comment"
This reverts commit
03679d434262be5a73e25668513a6a6597fd90ea.
listlistmodel is private
Mohammed Sadiq [Tue, 18 Sep 2018 04:25:43 +0000 (09:55 +0530)]
listlistmodel: Fix documentation comment
Georges Basile Stavracas Neto [Tue, 18 Sep 2018 03:51:57 +0000 (00:51 -0300)]
tree-list-model: Return the correct item type
When passthrough is enabled, it should return the GType
of the child GListModels; when disabled, it should be
GTK_TYPE_TREE_LIST_ROW.
The conditions are inverted however, causing a few
warnings to trigger.
Fix that by returning the correct GType.
Mohammed Sadiq [Tue, 18 Sep 2018 02:54:30 +0000 (02:54 +0000)]
Merge branch 'wip/sadiq/model-fixes' into 'master'
treelistmodel: Fix memory leak
See merge request GNOME/gtk!344
Mohammed Sadiq [Tue, 18 Sep 2018 01:58:56 +0000 (07:28 +0530)]
treelistmodel: Fix memory leak
gtk_tree_list_model_init_node() increases the reference count
of the model passed. Let's not do that, and let it take the
model passed.
Mohammed Sadiq [Tue, 18 Sep 2018 02:03:58 +0000 (02:03 +0000)]
Merge branch 'wip/sadiq/model-fixes' into 'master'
treelistmodel: Fix signal emission on row destroy
See merge request GNOME/gtk!343
Mohammed Sadiq [Tue, 18 Sep 2018 01:41:27 +0000 (07:11 +0530)]
treelistmodel: Fix signal emission on row destroy
Manu Cornet [Mon, 17 Sep 2018 12:27:46 +0000 (12:27 +0000)]
Remove some duplication in testfilechooserbutton
Most of the code creating the two types of dialogs (open file,
choose folder) is the same. This refactors the common code into a
helper method. This also makes it easier to add other chooser types
for this test (e.g. save file).
Rico Tzschichholz [Mon, 17 Sep 2018 11:00:36 +0000 (13:00 +0200)]
gtk: Fix some g-i annotations warnings
Robert Ancell [Mon, 17 Sep 2018 08:59:19 +0000 (08:59 +0000)]
Merge branch 'toolbar-expand' into 'master'
toolbar: Use hexpand/vexpand Gtk+ properties
See merge request GNOME/gtk!334
Robert Ancell [Mon, 10 Sep 2018 23:00:01 +0000 (11:00 +1200)]
toolbar: Use hexpand/vexpand Gtk+ properties
Mohammed Sadiq [Mon, 17 Sep 2018 08:07:43 +0000 (13:37 +0530)]
docs: Fix inclusion of source files in tutorial
Matthias Clasen [Mon, 17 Sep 2018 03:06:19 +0000 (23:06 -0400)]
tree list model: Add docs
Matthias Clasen [Mon, 17 Sep 2018 02:35:26 +0000 (22:35 -0400)]
Minor doc fix
Clarify some wording.
Benjamin Otte [Mon, 17 Sep 2018 02:29:40 +0000 (04:29 +0200)]
testsuite: Disable some tests for older glib
Benjamin Otte [Mon, 17 Sep 2018 01:56:41 +0000 (03:56 +0200)]
testsuite: Add tests for GtkSortListModel
Benjamin Otte [Mon, 17 Sep 2018 01:50:56 +0000 (03:50 +0200)]
sortlistmodel: Actually insert unsorted items at the wrong place
We were adding items in reverse order, oops.
Piotr Drąg [Sun, 16 Sep 2018 19:02:31 +0000 (21:02 +0200)]
Update POTFILES.in
Benjamin Otte [Sun, 16 Sep 2018 17:38:25 +0000 (19:38 +0200)]
docs: Add missing TreeListModel docs
Matthias Clasen [Sun, 16 Sep 2018 17:06:29 +0000 (17:06 +0000)]
Merge branch 'wip/sadiq/fixes' into 'master'
gdkselectioninputstream-x11: Fix memory leak
See merge request GNOME/gtk!340
Benjamin Otte [Sun, 16 Sep 2018 08:31:16 +0000 (10:31 +0200)]
testtreelistmodel: Display the file icon, because why not
Benjamin Otte [Tue, 11 Sep 2018 02:41:52 +0000 (04:41 +0200)]
inspector: Update the controllers list to show parent controllers
Now we show all the controllers that are relevant when widget gets sent
events.
Benjamin Otte [Sat, 15 Sep 2018 13:12:35 +0000 (15:12 +0200)]
testtreelistmodel: Make the statusbar display more info
Now display how many items were filtered (if any) and how many
directories remain to be sanned (if any).
Benjamin Otte [Fri, 14 Sep 2018 02:54:36 +0000 (04:54 +0200)]
testtreelistmodel: Sort files by name
Benjamin Otte [Fri, 14 Sep 2018 02:34:40 +0000 (04:34 +0200)]
GtkSortListModel: Add
Benjamin Otte [Thu, 13 Sep 2018 00:33:32 +0000 (02:33 +0200)]
testtreelistmodel: Add search
Add a simple search that does a case insensitive substring search of the
file paths.
Benjamin Otte [Wed, 12 Sep 2018 03:04:17 +0000 (05:04 +0200)]
testtreelistmodel: Make the directory loading async
This is way more complicated than it should be, because it requires
manually limiting the number of open file enumerators.
On the other hand, it exhaustively tests the items-changed emission of
all involved listmodels because those signals come in pretty much
randomly.
It's also 50% slower than the sync version, with the caeat that the sync
version only shows the UI after it's done loading, while this version
shows it right away.
Benjamin Otte [Wed, 12 Sep 2018 01:10:50 +0000 (03:10 +0200)]
testtreelistmodel: Add a hack to handle LONG lists
... and make the lists long by autoexpanding the tree.
Benjamin Otte [Wed, 12 Sep 2018 01:07:24 +0000 (03:07 +0200)]
GtkSliceListModel: add
Benjamin Otte [Tue, 11 Sep 2018 02:19:06 +0000 (04:19 +0200)]
inspector: Make controllers page use gtk_list_box_bind_model()
Benjamin Otte [Tue, 11 Sep 2018 00:25:37 +0000 (02:25 +0200)]
inspector: Rename "Gestures" page to "Controllers"
And rename GtkInspectorGestures => GtkInspectorControllers, too.
Benjamin Otte [Mon, 10 Sep 2018 23:56:42 +0000 (01:56 +0200)]
inspector: Make gestures page handle all controllers
This requires removing support for gesture groups.
Benjamin Otte [Mon, 10 Sep 2018 23:28:19 +0000 (01:28 +0200)]
GtkMapListModel: add
Benjamin Otte [Mon, 10 Sep 2018 15:01:57 +0000 (17:01 +0200)]
propertylookuplistmodel: Add
This model just takes an object and a property name and recursively
looks it up. In particular, I want it for:
widget, widget.parent, widget.parent.parent, ...
Benjamin Otte [Wed, 29 Aug 2018 14:19:37 +0000 (16:19 +0200)]
inspector: Turn object tree into a GtkListBox
The code gets rid of the GtkTreeView and replaces it with a GtkListBox.
Most of the logic is now done via GListModel subclasses.
A big change is that this new list is now tracking updates itself and
doesn't need to be manually updated. All code that used to cause rescans
or add forgotten objects to the tree has been removed.
If objects are missing from the object tree, the logic for tracking them
needs to be added.
Benjamin Otte [Wed, 5 Sep 2018 15:26:35 +0000 (17:26 +0200)]
testsuite: Disable some tests with older glib
Fixes CI.
Benjamin Otte [Wed, 5 Sep 2018 14:40:51 +0000 (16:40 +0200)]
inspector: Use a GtkPicture to display render nodes
Instead of the outdated render node view, use modern GTK APIs.
Benjamin Otte [Wed, 5 Sep 2018 04:34:03 +0000 (06:34 +0200)]
inspector: Add an icon to the render node list
Benjamin Otte [Wed, 5 Sep 2018 03:53:33 +0000 (05:53 +0200)]
inspector: Make the render node tree use a ListBox
It used to be a treeview.